home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / mint / mntlb20 / lib / getuid.c < prev    next >
C/C++ Source or Header  |  1992-05-15  |  1KB  |  71 lines

  1. #include <sys/types.h>
  2. #include <unistd.h>
  3. #include <osbind.h>
  4. #include <mintbind.h>
  5. #include <errno.h>
  6.  
  7. extern int __mint;
  8.  
  9. static int __uid, __gid;
  10.  
  11. uid_t getuid() { return __mint ? Pgetuid() : __uid; }
  12. gid_t getgid() { return __mint ? Pgetgid() : __gid; }
  13.  
  14. uid_t geteuid() { return getuid(); }
  15. gid_t getegid() { return getgid(); }
  16.  
  17. int setuid(x)
  18.     int x;
  19. {
  20.     long r;
  21.  
  22.     if (__mint) {
  23.         r = Psetuid(x);
  24.         if (r) {
  25.             errno = -r;
  26.             return -1;
  27.         }
  28.         return 0;
  29.     }
  30.     __uid = x;
  31.     return 0;
  32. }
  33.  
  34. int setgid(x)
  35.     int x;
  36. {
  37.     long r;
  38.  
  39.     if (__mint) {
  40.         r = Psetgid(x);
  41.         if (r) {
  42.             errno = -r;
  43.             return -1;
  44.         }
  45.         return 0;
  46.     }
  47.     __gid = x;
  48.     return 0;
  49. }
  50.  
  51. int setreuid(ruid,euid)
  52.     int ruid, euid;
  53. {
  54.     return setuid(euid);
  55. }
  56.  
  57. int setregid(rgid,egid)
  58.     int rgid, egid;
  59. {
  60.     return setgid(egid);
  61. }
  62.  
  63. /* note: BSD getpgrp takes an argument, but ours doesn't */
  64. int getpgrp() { return __mint ? Pgetpgrp() : 0; }
  65.  
  66. int setpgrp(pid, grp)
  67.     int pid, grp;
  68. {
  69.     return __mint ? Psetpgrp(pid, grp) : 0;
  70. }
  71.